home *** CD-ROM | disk | FTP | other *** search
- !Larger Version 1.27 23rd January 1992
- =================================================
-
- (c) 1991 Robin Watts
-
- Introduction:
-
- !Larger is a RISC OS Application designed to make life easier when using the
- Desktop. It performs several functions at once:
-
- 1) It provides a Sticky Backdrop facility, allowing applications, Basic
- programs and datafiles to be run, dragged from, or moved by clicking or
- dragging icons on the backdrop.
-
- Features include:
-
- * Sprites, and System Variables saved with Backdrop.
- * Dragging files onto backdrop allows them to be saved into a
- directory within !Larger.
- * Shift-Drag conventions supported.
- * Automatic Gridlocking.
- * Facility to Select directories as CSD when opened from backdrop.
- * Press Ctrl-Tab to select Directory under Pointer as CSD, or to set
- CSD to parent directory of file in editor under pointer.
- * Unique 'Gravity' feature separates Applications and Directories as
- specified by user.
- * Launch Applications by dragging files onto them.
- * Save into directories by dragging files onto them.
- * Launch Applications by User-Definable Ctrl Keys.
- * !Help Compatible.
- * Copy Applications, Files and directories, by dragging from Backdrop.
-
- 2) It provides a Virtual Desktop facility, enabling a desktop of almost
- infinite size to be used, simply by 'pushing' the edge of the screen with the
- pointer. This has uses when using many different applications at once, and
- helps prevent cluttering of Screen displays.
-
- 3) An Application Manager is provided. On Command, an entire application's
- windows can be hidden from view off screen, and brought back at a later
- date unchanged. This is intended to help reduce screen clutter.
-
- 4) A facility is availiable to save details of the applications running, and
- the positions of the windows belonging to these. These can then be reloaded
- simply by double clicking on and icon.
-
- Menu Options:
- =============
-
- Info => Opens a window containing info on Larger.
-
- Backdrop => Drag Onto This allows the item over which the menu was
- opened to have its 'Drag Onto' flag toggled.
- => Open Parent This opens the directory containing the icon over
- which the menu was opened.
- => Ctrl Key This allows you to set a Key so that Ctrl and that
- Key will 'run' that item.
- => Pre Params This accepts parameters which will be inserted
- after the command to be executed, and before the
- filename of the file dragged onto the icon. Thus
- if 'tar' is sat on the back drop, and a file is
- dragged onto it, and the required command is
- 'tar -xvf <Filename>', then the pre paramater
- string should be set to -xvf. This option is only
- used if a file is dragged to the icon, and the
- drag onto flag is set.
- => Post Params This performs the same operation as Pre Params,
- but inserts the parameters after the filename.
- The same conditions of use apply.
- => Run With This option allows the user to run an application
- with a specific string passed to it. The
- application will be invoked with a command string
- consisting of:
- <Command> <Pre params> <Run With> <Post Params>
- This enables applications to be run with (say) a
- list of filenames.
- => Remove Item This removes the item from the backdrop.
- => Help This activates the Help file (if any) of the
- application.
-
- Desktop => Home This moves the desktop back to its initial
- position.
- => Retrieve This pulls all (non-hidden) windows onto the
- screen.
- => Cycle This pulls the back window to the front.
-
- Save Room => This saves details of all non-hidden Applications
- and their windows to an icon on the backdrop. A
- double click on the icon will reload the apps, and
- try and re-open the windows in the same places as
- before. Larger also saves the titles of the files
- (read from the title bar of the windows), and will
- reload these into the appropriate windows if it
- can.
-
- Config... This Opens the configuration window. This can also
- be achieved by clicking on the icon bar icon (if
- selected)
-
- Apps... This allows the user to edit !Larger's internal
- list of Applications and their positions. This
- list is used when restarting applications from
- previously saved rooms.
-
- Quit This quits !Larger.
-
- Hot Key Options:
- ================
-
- Ctrl-Tab: Pressing Ctrl-Tab over a directory window, sets the CSD
- (currently selected directory) to this directory. Pressing
- Ctrl-Tab, over an application which carries the name of the
- file being edited in it's title bar, will set the CSD to be the
- directory containing this file.
-
- Shift-Tab: Pressing Shift-Tab over a window, will hide all the windows
- belonging to that application off screen, and put an icon on
- the backdrop. Double clicking this Icon will cause all the
- windows to reappear, in the same positions as before.
-
-
- Configuration Window:
- =====================
-
- This allows fine tuning of the !Larger Application for individual users. The
- possible options are listed below:
-
- Auto Load If selected !Larger will automatically load a pre-saved
- backdrop from disk when launched.
- Organise This option turns the sorting functions of the program on or
- off. With this enabled, applications (i.e. All non-directory
- objects) and directories, are subjected to the 'gravity' set
- below. Thus with application gravity right, and directory
- gravity left and organise on, objects on the backdrop will be
- neatly separated into the two categories.
- Icon+Text This option causes applications on the backdrop to be show as
- their sprite, followed by their name.
- Icon Only This option causes applications on the backdrop to be show as
- their sprite alone, without their name.
- Scroll This option turns the Virtual Desktop facility on and off. With
- this option set, as the pointer travels beyond the confines of
- the screen, it causes the entire screen to move in the opposite
- direction, so offering a practically infinite screen area.
- With Shift This option works in conjunction with 'Scroll' above. With this
- set, the screen will only scroll around the Virtual Desktop, if
- Shift is held while the pointer is moved off screen.
- Open Filer With this option set, double-clicking a directory from the
- backdrop has the effect of opening the filer window on screen.
- Set CSD With this option set, double-clicking a directory on the
- backdrop has the effect of making it the currently selected
- directory.
- Icon On Bar This toggles the icon bar icon, on and off.
- Large Icon This selects what size of icon will be displayed on the icon
- bar, if it is enabled with 'Icon On Bar'
- Window Size If selected, this stops windows opening up to vast sizes by
- Limit limiting the size of windows to that of screen size.
- No Bounds For those die-hard users amoung you, who object to all windows
- having the 'No Bounds' bit set. To use the Virtual Desktop,
- this must be set. Note that this only affects windows created
- after the setting has been changed - Not all existing windows.
- Selective If this option is selected, only sprites used in the backdrop
- Sprite Save itself are saved. This means that !Larger will start up much
- faster, and will take less room to store the sprites. However,
- more time will be taken to open directory viewers containing
- 'unseen' applications as their sprites must be loaded. This is
- slow at present as the code to copy sprites to a new area uses
- repeated SWI calls, and is hence slow. Also, enough memory in
- the RMA must be availiable to hold the sprites used, as they
- are copied across just prior to saving. If not, an error is
- given.
- Follow Caret If this option is selected, and the user moves the caret off
- screen, then the whole desktop will scroll to bring the caret
- back onto the screen. This enables windows larger than the
- screen to be opened (e.g. DTP windows), and scrolled around,
- without worrying about losing sight of the caret. This option
- will cause problems if the user trys to scroll the desktop
- manually, so as to take the Caret off screen, as the machine
- promptly scrolls it back.
-
- To Copy !Larger:
- ================
-
- 1) Load up !Larger
- 2) Turn off Auto-Load
- 3) Quit !Larger
- 4) Drag !Larger to new disc
- 5) Reload Original !Larger
- 6) Turn Auto-Load back on (if appropriate)
-
- In fact, any files that are saved, by dragging onto the backdrop of !Larger,
- are saved within !Larger in a directory called Internal. These can be deleted
- if not required. Similarily, saved rooms are kept in a directory called
- rooms. These can be deleted. Also the files making up a saved backdrop can be
- deleted if not required. Simply delete the files 'Details', 'SysVars' and
- 'Sprites' (NOT !Sprites).
-
- Public Domain Notice:
- =====================
-
- This software is Shareware and may be freely copied, as long as the following
- conditions are met:
-
- a) This Notice is distributed unchanged with every copy
- b) Any Changes released should first be Mailed to the Author at one of the
- addresses given below
- c) No charge (excluding possibly a minimal Copying charge) is made for the
- software by the distributor.
- d) You may use the software for a suitable trial period without registering.
- Should you continue to do so after this period, then you must register
- with the author by sending £10.00 to the author. In exchange for this, you
- will receive free updates to the software as it becomes available. DO NOT
- ABUSE THIS SYSTEM!
-
- This software is provided 'as is', with no guarantee of its suitability for
- any purpose. I will accept no responsibility for any data lost while using
- this program. NO WARRANTY IS GIVEN!
-
- If you do change the code at all, please let me know, as I refuse to try to
- support other peoples modifications unless I have been told about them, and
- I will probably be interested.
-
- If anyone has any ideas on improvements or new features for !Larger, however
- strange they may seem, please get in touch with me, as they will almost
- always be useful to someone else. I will try and implement anything (within
- reason) that people want.
-
- Things to note:
- ===============
-
- 1) If a file is set to 'Drag onto', and an application 'saves' a file onto
- its plinth, the data passed is stored in the file pointed to by
- Wimp$Scrap. Then the application is loaded, and Wimp$Scrap is passed to it
- as a paramater. The application should then delete Wimp$Scrap. This does
- not seem to be supported by any applications I have tried. (Or I am not
- doing it right!).
-
- 2) When loading !Larger for the second time in a session, it may take a long
- time to start up. This is due to the way *IconSprites works, and may be
- changed in later versions. To reduce this problem, use the 'Selective
- Sprite Save' option, and only the minimum number of sprites required will
- be saved. Without this option set !Larger saves all the sprites it has
- seen, and so, ends up with an very large sprite file. (Mine is about
- 200k).
-
- 3) Problems with !Fonts: There are programs availiable now that patch the
- Font Manager to allow fast access to Large numbers of fonts. Some of these
- programs have fixes in to stop crashing Edit. If one of these is run and
- the backdrop is saved, problems may occur when rerun as System variables
- will already be set up, and Edit may crash. Not much I can do here until
- Acorn release a decent version of !Edit.
-
- 4) When the backdrop is saved, all the system variables (except those to do
- with !Larger itself, date and time) are saved. If this is a problem, then
- simply edit the Obey file in !Larger called 'SysVars' after the save to
- remove the offending lines.
-
- 5) Some programs (notably !BEdit) cannot be run with an argument. This means
- that they do not respond properly if set 'Drag onto'.
-
- 6) If the Toggle Size icon in an Edit window is hit, while editing a large
- file, Edit may report a 'fatal store error' and crash. This is because of
- the way Edit tries to open a window as large as possible, and is not a bug
- with !Larger. Hopefully Acorn will fix this in future versions of !Edit.
- This error will no longer be given if you have 'Window Size Limit' set.
-
- 7) I'm not getting paid for this.
-
- Possible Future Enchancements:
- ==============================
-
- 1) Add option to show position of windows on icon bar icon.
-
- 2) Add facility for fixed (non-moving) windows.
-
- 3) Selective Sprite Save may be sped up considerably, by bypassing the OS
- sprite calls, and copying directly between sprite areas. This method would
- reply only on information given in the PRM, so it ought still to be legal.
-
- 4) Someone Might Pay me
-
- Changes History:
- ================
-
- Changes for 1.05:
-
- Fixed bug in (shift-)drag from filer.
- Improved !Help response.
- Fixed Bug in window scrolling.
-
- Changes for 1.06:
-
- Improved redraw speed.
- Added Pre and Post Params Options.
- Added Run With option.
-
- Changes for 1.07:
-
- Fixed Redraw Bug for Blank Backdrop.
- Added Icon On/Off Option.
- Added Large/Small Icon Option.
- Increased WimpSlot to 128K
-
- Changes for 1.08:
-
- Added Config window code, and removed large chunks of menu options.
- (This halved the time taken to generate the menu :-) )
- Fixed bug with moving !Larger windows.
-
- Changes for 1.09:
-
- Corrected Mode change bug introduced in V1.08.
- Put in Window Size Limit Option.
- Streamlined Internals of proggy, so WimpSlot reduced to 96k.
-
- Changes for 1.10:
-
- Put in No Bounds Option.
- Corrected Saving of icon size option.
- Put Key Shortcuts in config window.
- Corrected Bug with Quitting multiple instantiations of !Larger.
-
- Changes for 1.11:
-
- Added facility to allow drag to filer from backdrop to copy.
-
- Changes for 1.12:
-
- Sped up redraw.
- Added selected sprite save option.
-
- Changes for 1.13:
-
- Corrected problem with menu generation.
-
- Changes for 1.14:
-
- Corrected Grabkeys Bug.
- Added Rooms Option. (Involved Increasing WimpSlot to 128K :-( )
- Put Setup Segment of program as an Overlay - Dumped after Start.
- Removed all line number references from within program.
- Altered some DIMs to claim space from RMA.
- Fixed bug in redraw routine.
- Added Follow Caret Option.
-
- Changes for 1.15:
-
- Sped up Selective Sprite Save - See note above.
- Put Save/Load into an Overlay, and various Menu Options into another of same
- size, so as to save memory.
-
- Changes for 1.16:
-
- Fixed bug in System Variable Saving Routine.
- Fixed bug in Selective Sprite Save.
-
- Changes for 1.17:
-
- Fixed bug with discard in Application Window.
-
- Changes for 1.18:
-
- Tidied bug fix for discard.
- Extended Ctrl-Tab Functionality.
- Fixed bug with No organise, no gravity.
- Fixed bug with Details Save.
-
- Changes for 1.19:
-
- Fixed CSD Root problem.
- Fixed backdrop to backdrop, non-organise drag bug.
-
- Changes for 1.20:
-
- Updated Room Save Option, to save titles of files in windows.
-
- Changes for 1.21:
-
- Updated Room Save Option, to cope with filer windows.
-
- Changes for 1.22:
-
- Rewrote menu handling routines to give instant menu creation.
- Changed functionality of application manager.
- Improved redraw on internal swaps.
-
- Chnages for 1.23:
-
- Fixed (Major) bug in Load/Save Room.
- Fixed bug in Redraw Routine.
- Added Help menu option.
-
- Changes for 1.24:
-
- Fixed Bug in Saving SysVars.
- Fixed problem with Caret in Follow Caret/Hide App.
- Fixed Quit Error.
- Fixed Iconising IconBar Bug.
- Fixed Load Room Bug.
- Fixed active apps list bug.
-
- Changes for 1.25:
-
- Improved Scroll with Shift mouse rectangle handling.
-
- Changes for 1.26:
-
- Fixed run from backdrop bug.
- Fixed Sysvars Saving (Again!)
- Fixed bug with FS Vars.
-
- Changes for 1.27:
-
- Fixed bug with follow caret, and non-displayed caret.
- Fixed config window click detection bug.
-
- Addresses To Contact the Author:
- ================================
-
- 217 Waterhouse Moor,
- Harlow,
- Essex,
- CM18 6BW
-
- St Catherines College,
- Manor Road,
- Oxford,
- OX1 3UJ
-
- By Janet: m90rjw@uk.ac.oxford.ecs
-
- Thanks Go to:
- =============
-
- Brian Brunswick for writing the original Module to Patch the wimp so all
- windows are not bounded. His addresses are as follows:
-
- Brian.Brunswick@cl.cam.ac.uk
-
- Trinity College
- Cambridge
- CB2 1TQ
- UK
-
- All my many bugtesters (far too many to name individually).
-
- Rik van der Schalie for writing to me with original code for Selective Sprite
- Saving, and other ideas. His address is as follows:
-
- Abrikozenstraat 190
- 2564 VZ DEN HAAG
- Netherlands
- Tel: 070-3258675
-